#ifndef GOREVLI/VIEWS.PY
#define GOREVLI/VIEWS.PY
# Create your views here.
from forms import UpdateForm
from django.http import HttpResponseRedirect
from obsapp.models import *
from django.contrib.auth import authenticate,login as auth_login
from django.contrib.auth import logout as user_logout
from django.contrib.auth.models import User
from django.shortcuts import render_to_response
from django.core.urlresolvers import reverse

def ogrenciTranskript(request,ogrid):
    transkript=Transkript.objects.filter(ogrenciNo=ogrid)
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogrenci=Ogrenci.objects.get(id=ogrid)
    return render_to_response("gorevli/transkriptgoruntule.html",{'kullanici':request.user,'danisman':1,'transkript':transkript,'ogrenci':ogrenci})


def danismanOgrenciGoruntuleTrans(request):
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogrenciler=Ogrenci.objects.filter(danisman=danisman[0].id)
    return render_to_response("gorevli/danismanogrencitrans.html",{'kullanici':request.user,'ogrenciler':ogrenciler})

def dersalanogrencinot(request,dersid=None):
    if request.method=="POST":
        for ogrenciId, notu in request.POST.items():
            try:
                acilanders=AcilanDers.objects.get(dersKodu = dersid)
                ders = AldigiDersler.objects.get(dersKodu = dersid, ogrenciNo = ogrenciId)
                ders.aldigiNot = notu
                ders.save()
                tr, created = Transkript.objects.get_or_create(ogrenciNo_id=ogrenciId,ders_id=dersid,dersKredisi=acilanders.dersKredisi)
                tr.dersNotu = notu
                tr.save()
            except Exception:
                print ogrenciId, dersid, notu

        return HttpResponseRedirect(reverse("index"))
    else:
        ogrencialdigiders = AldigiDersler.objects.filter(dersKodu= dersid,durum=True)
        danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
        if danisman:
            return render_to_response("gorevli/ogrencinotgoruntule.html" , {'id':dersid, 'danisman':1, 'ogrenciler':ogrencialdigiders, 'kullanici':request.user})
        else:
            return render_to_response("gorevli/ogrencinotgoruntule.html" , {'id':dersid, 'ogrenciler':ogrencialdigiders, 'kullanici':request.user})

def notgirisi(request):
        ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
        dersler=AcilanDers.objects.filter(ogretmen=ogretimgorevlisi)
        danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
        if danisman:
            return render_to_response("gorevli/notgirisi.html" , {'danisman':1, 'dersler':dersler, 'kullanici':request.user})
        else:
            return render_to_response("gorevli/notgirisi.html" , {'dersler':dersler, 'kullanici':request.user})
    
def onay(request):
    if request.method=="POST":
        onaylananders=request.POST.getlist('onaylananders')
        for ders in onaylananders:
            d=AldigiDersler.objects.get(id=ders)
            d.durum=True
            d.save()
        return HttpResponseRedirect(reverse("index"))
def dersonayogrenci(request,ogrid):
    aldigidersler=AldigiDersler.objects.filter(ogrenciNo=ogrid)
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogrenci=Ogrenci.objects.get(id=ogrid)
    sinif=ogrenci.sinif
    return render_to_response("gorevli/dersonayogrenci.html",{'kullanici':request.user,'ogrenci':ogrenci,'sinif':sinif,'aldigidersler':aldigidersler})

def danismanOnayListele(request):
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogrenciler=Ogrenci.objects.filter(danisman=danisman[0].id)
    sinif=ogrenciler[0].sinif
    return render_to_response("gorevli/ogrencionaylistele.html",{ 'kullanici':request.user,'ogrenciler':ogrenciler,'sinif':sinif})

def danismanOgrenci(request):
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogrenciler=Ogrenci.objects.filter(danisman=danisman[0].id)
    ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
    sinif=ogrenciler[0].sinif
    return render_to_response("gorevli/ogrencigoruntuledanisman.html",{ 'kullanici':request.user,'danisman':ogretimgorevlisi,'ogrenciler':ogrenciler,'sinif':sinif})

def dersalanogrenci(request, dersid):
    ogrencialdigiders = AldigiDersler.objects.filter(dersKodu= dersid,durum=True)
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    if danisman:
        return render_to_response("gorevli/dersalanogrenci.html",{'ogrenciler':ogrencialdigiders,'kullanici':request.user,'danisman':1})
    else:
        return render_to_response("gorevli/dersalanogrenci.html",{'ogrenciler':ogrencialdigiders,'kullanici':request.user})


def actigidersGoruntule(request):
    ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
    dersler=AcilanDers.objects.filter(ogretmen=ogretimgorevlisi)
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    if danisman:
        return render_to_response("gorevli/dersler.html" , {'danisman':1, 'dersler':dersler, 'kullanici':request.user})
    else:
        return render_to_response("gorevli/dersler.html" , {'dersler':dersler, 'kullanici':request.user})



def indexOgretimgorevlisi(request):
    return render_to_response("gorevli/ogretimgorevlisi.html",{'kullanici':request.user})

def indexDanisman(request):
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogrenciler=Ogrenci.objects.filter(danisman=danisman[0].id)
    ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
    sinif=ogrenciler[0].sinif 
    return render_to_response("gorevli/danisman.html",{ 'kullanici':request.user,'ogretimgorevlisi':ogretimgorevlisi,'ogrenciler':ogrenciler,'sinif':sinif})



def ogrgorevliGuncelle(request):
    if request.method=="POST":
        form=UpdateForm(request.POST)
        if form.is_valid():
            email=form.cleaned_data['email']
            adres1=form.cleaned_data['adres1']
            adres2=form.cleaned_data['adres2']
            adres3=form.cleaned_data['adres3']
            websayfasi=form.cleaned_data['websayfasi']
            ogrenci=User.objects.get(username=request.user.username)
            kimlikbil=KimlikBilgileri.objects.get(kullanici=ogrenci)
            kimlikbil.adres1=adres1
            kimlikbil.adres2=adres2
            kimlikbil.adres3=adres3
            kimlikbil.email=email
            kimlikbil.websayfasi=websayfasi
            kimlikbil.save()
    kimlik=KimlikBilgileri.objects.get(kullanici=request.user)
    ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
    data={'email':request.user.email,'adres1':kimlik.adres1,'adres2':kimlik.adres2,'adres3':kimlik.adres3,'websayfasi':kimlik.websayfasi}
    form = UpdateForm(initial=data)
    
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    if danisman :
        return render_to_response('gorevli/ogrupdate.html',{ 'form':form,'gorevli':request.user,'gorevlibil':ogretimgorevlisi})
    else:
        return render_to_response('gorevli/ogrupdate.html',{'form':form,'gorevli':request.user,'gorevlibil':ogretimgorevlisi})

def gorevliGuncelle(request):
    if request.method=="POST":
        form=UpdateForm(request.POST)
        if form.is_valid():
            email=form.cleaned_data['email']
            adres1=form.cleaned_data['adres1']
            adres2=form.cleaned_data['adres2']
            adres3=form.cleaned_data['adres3']
            websayfasi=form.cleaned_data['websayfasi']
            ogrenci=User.objects.get(username=request.user.username)
            kimlikbil=KimlikBilgileri.objects.get(kullanici=ogrenci)
            kimlikbil.adres1=adres1
            kimlikbil.adres2=adres2
            kimlikbil.adres3=adres3
            kimlikbil.email=email
            kimlikbil.websayfasi=websayfasi
            kimlikbil.save()
    kimlik=KimlikBilgileri.objects.get(kullanici=request.user)
    ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
    data={'email':request.user.email,'adres1':kimlik.adres1,'adres2':kimlik.adres2,'adres3':kimlik.adres3,'websayfasi':kimlik.websayfasi}
    form = UpdateForm(initial=data)
    
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    if danisman :
        return render_to_response('gorevli/update.html',{ 'form':form,'gorevli':request.user,'gorevlibil':ogretimgorevlisi})
    else:
        return render_to_response('gorevli/update.html',{'form':form,'gorevli':request.user,'gorevlibil':ogretimgorevlisi})


def index(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect("/login")
    kimlik=KimlikBilgileri.objects.get(kullanici=request.user)
    danisman=Danisman.objects.filter(ogretmenId=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id)))
    ogretimgorevlisi=OgretimGorevlisi.objects.get(kimlikBilgisi=KimlikBilgileri.objects.get(kullanici=request.user.id))
    if danisman:
        ogrenciler=Ogrenci.objects.filter(danisman=danisman[0].id)
        return HttpResponseRedirect(reverse("indexdanisman"))
    return HttpResponseRedirect(reverse("indexogretimgorevlisi"))
#endif // GOREVLI/VIEWS.PY
